package com.cuixichang.minimalism.transfer.factory;

import com.cuixichang.minimalism.transfer.dto.IRolePermissionDTO;
import com.cuixichang.minimalism.transfer.page.IRolePermissionPageRequest;
import com.cuixichang.minimalism.transfer.page.IRolePermissionRequest;
import com.cuixichang.minimalism.transfer.vo.IRolePermissionVO;
import com.cuixichang.minimalism.transfer.po.IRolePermission;
import org.mapstruct.Builder;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

/**
 * 系统角色权限关系表对象适配器
 *
 * @author cuixichang
 * @date 2024-12-18
 */
@Mapper(builder = @Builder(disableBuilder = true))
public interface IRolePermissionAssembler {

    IRolePermissionAssembler INSTANCT = Mappers.getMapper(IRolePermissionAssembler.class);

    IRolePermissionDTO convertDto(IRolePermissionRequest request);

    IRolePermissionDTO convertDto(IRolePermissionPageRequest request);

    IRolePermission convertPo(IRolePermissionDTO dto);

    IRolePermissionDTO convertDto(IRolePermission po);

    IRolePermissionVO convertVo(IRolePermissionDTO dto);
}